using AdminApiTemplate.Common.Attributes;
using AdminApiTemplate.Common.Models;

namespace AdminApiTemplate.Services.AdminUser
{
    /// <summary>
    /// 用户管理分页查询参数数据
    /// </summary>
    public class GetAdminUserPagedListRequestModel : PagedRequest
    {

        /// <summary>
        /// 主键ID
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Equal)]
        public string Id { get; set; }
        /// <summary>
        /// 登录名
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Like)]
        public string UserName { get; set; }
        /// <summary>
        /// 是否禁用
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Equal)]
        public string IsDisabled { get; set; }

        /// <summary>
        /// 账号禁用时间
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Range,FieldType = AddIfFieldTypeEnum.DateTime)]
        public string DisableTime { get; set; }

        /// <summary>
        /// 账号创建开始时间
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Range, FieldType = AddIfFieldTypeEnum.DateTime)]
        public string CreateTime { get; set; }
        /// <summary>
        /// 用户类型 0 管理员 1 BM 2 BD
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Equal)]
        public string UserType { get; set; }
        /// <summary>
        /// 中文名
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Like)]
        public string ChineseName { get; set; }
        /// <summary>
        /// 英文名
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Like)]
        public string EnglishName { get; set; }
        /// <summary>
        /// 发送邮件email
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Like)]
        public string Email { get; set; }

        /// <summary>
        /// 是否兼职
        /// </summary>
        [AddIf(FieldType = AddIfFieldTypeEnum.Boolean)]
        public string IsPartTime { get; set; }
        /// <summary>
        /// bd分组
        /// </summary>
        [AddIf(OperationType = AddIfOperationTypeEnum.Equal)]
        public string TeamId { get; set; }

        /// <summary>
        /// 是否推广专员
        /// </summary>
        [AddIf(FieldType = AddIfFieldTypeEnum.Boolean)]
        public string IsMarketing { get; set; }

        /// <summary>
        /// 是否可以分配用户
        /// </summary>
        [AddIf(FieldType = AddIfFieldTypeEnum.Boolean)]
        public string CanAssign { get; set; }

        /// <summary>
        /// BM
        /// </summary>
        [AddIf(Field = "ParentId", FieldType = AddIfFieldTypeEnum.Int32)]
        public string BM { get; set; }

        /// <summary>
        /// 是否使用薪资系统
        /// </summary>
        [AddIf(FieldType = AddIfFieldTypeEnum.Boolean)]
        public string IsCalcSalary { get; set; }

        /// <summary>
        /// 是否已绑定企业微信
        /// </summary>
        public bool? HasWorkWx { get; set; } 
    }
}
